Communication networks may be constructed of packet switching channels which move data between endpoints (hereinafter referred to as “nodes”) on one or more communication links. In order to move data to another node, a node may segment the data into one or more data packets. The one or more data packets are then forwarded to the other node.
To build a data packet, a header is attached to at least a portion of a block of data. The header provides instructions for transmitting, interpreting and processing the block of data. The is data is referred to as “data payload” or simply “payload.” The size of the payload may vary based on size limitations established for a communication link or a communication protocol associated with the communication link. Since payload size may vary, the number of data packets needed to forward an entire block of data to another node may also vary.
Communication networks may include one or more nodes interconnected on one or more communication links. Each node may use different resources to build a data packet. For example, one node may use hardware resources to quickly generate multiple data packets. Another node may not have such hardware resources and instead may rely on software resources to build multiple data packets. Accordingly, efficiently utilizing varying node resources to build data packets is problematic in some communication networks.